package zw_601_700.zw_693_交替位二进制数;

class Solution {

    public static void main(String[] args) {
        int n = 5;
        boolean b = hasAlternatingBits(n);
        System.out.println(b);
    }


    /**
     * 位运算
     *
     * @param n
     * @return
     */
    public static boolean hasAlternatingBits(int n) {
        int a = n ^ (n >> 1);
        return (a & (a + 1)) == 0;
    }


//    public static boolean hasAlternatingBits(int n) {
//        int prev = 2;
//        while (n != 0) {
//            int cur = n % 2;
//            if (cur == prev) {
//                return false;
//            }
//            prev = cur;
//            n /= 2;
//        }
//        return true;
//    }

}
